package main

import "fmt"

/*
默认情况下，当发生了错误后（panic)，程序就会退出（崩溃）
如果我们希望：当发生了错误，可以捕获到错误，并进行处理，保证程序可以继续执行。

golang 不支持传统的 try...catch ...finally这种处理
引入了 defer, panic ,recover
*/
func test() {
	defer func() {
		err := recover()
		if err != nil {
			fmt.Println("error = ", err)
		}
	}()

	num1 := 10
	num2 := 0
	res := num1 / num2
	fmt.Println("res = ", res)
}

func main() {

	test()
	fmt.Println(" after error happen ....")
}
